﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace LevelPrototype
{
    public class TileFactory
    {
        public Tile GetTile(string _tileType, Vector2 _position)
        {
            switch (_tileType)
            {
                case "path":
                    return new PathTile { Position = _position, Text = "Path" };
                case "mountPoint":
                    return new MountTile { Position = _position, Text = "Mount" };
                case "startPoint":
                    return new StartTile { Position = _position, Text = "Start" };
                case "goal":
                    return new GoalTile { Position = _position, Text = "Goal" };
                default:
                    return new Tile { Position = _position, Text = "blank" };
            }
        }
    }

    public class Tile
    {
        public Vector2 Position { get; set; }
        public String Text { get; set; }

        public virtual void Draw()
        {
            LevelPrototype.spriteBatch.DrawString(LevelPrototype.font, Text, Position, Color.White);
        }
    }

    public class PathTile : Tile
    {        
    }

    public class MountTile : Tile
    {
    }

    public class GoalTile : Tile
    {
    }

    public class StartTile : Tile
    {
    }
}
